ADAM INTERNATIONAL MEDIA 
 
LOOKING BACK 
The Best Of AIM 
by Terry R Fowler 
 
SmartFILER - Allows up to 1000 records, each with 32 fields, of which 4 may be designated as searchable. 
 
SmartWRITER - Deletion of a file does NOT delete the stored material.  It only erases the stored name from the directory menu.  When the directory is area on the datapack is full, no more files may be stored EVEN when plenty of room exists according to the BLOCKS LEFT information displayed using SmartBASIC. 
 
The 160K DISK DRIVE was originally sold for $289. MODEMS originally sold for $100, ADAMCALC sold for $75, CP/M2.2 sold for $80, as did SmartLOGO. 
 
Versions of SMARTFILER before Revision 27d will not sort more than 255 entries.  To see your revision number, after the program loads and SmartKEYS are displayed, press the CONTROL KEY and the "R" KEY together.  This also works on SmartWRITER (R79 or R80), ADAMLINK (R12, R12X12, R13X15 depending on whether you have ADAMLINK II, III, or III+), DISK MANAGER (15.0) after the system is first powered up.  A block will be displayed onscreen which lists the revision number of the Software.  In SmartBASIC V1, type "? peek(260) to see your revision - 79. 
 
DEATH SPIN - SmartWRITER begins a loop (indicated by the pointer on the left side of the screen scrolling down over and over again) when certain events are encountered while storing a file.  If at first the "NO MORE ROOM" message is displayed, and then an old file is DELETED from the menu to provide space for storage, when the file is then saved it will attempt to store the file and then RESTORE the original data while displaying the message, "RESTORING FILE." The spin may continue for 10 or 15 minutes ending with control being returned to the operator, or the ADAM may freeze and require a reset --- loosing all the text in the workspace.  This is the single most encountered BUG in SmartWRITER. 
 
SmartWRITER will place a space and a half on any line with only the RETURN symbol.  A nonprinting character can be placed in front of the RETURN to overcome this problem.  Try using the CONTROL KEY and "6" together before the RETURN.  Although you can see the symbol onscreen, it will not print and resolves the printer problem. 
 
If it happens that you need to place a RETURN at the end of a line so that the next line can be INDENTED, but you find you get a Buzz, rather than using the INSERT function (time consuming), just go to the end of the line and use the backspace key.  Then space over and you will be able to add the RETURN. 
 
UNDERLINE BUG - Problems occur when you reset your left margin to 1 and begin the line with an underlined word.  There is no fix other than to set the margin at 2 in this situation. 
 
SmartWRITER will not recognize a disk drive unless power is applied to the disk drive FIRST before turning on the ADAM System.  SmartWRITER will not recognize a SECOND Disk Drive because the software was not completely written.  The information needed at the time was not available. 
 
SmartWRITER will freeze if the PRINTER Platen and gear assembly jams.  Generally a high pitch tone from the printer indicates a problem.  Rolling the platen back and forth will free the jam. 
 
APPLESOFT and SMARTBASIC are only compatible insofar as the words used in the command language.  However, many programs contain more than just Command Words (like LIST or GOTO).  The memory locations are completely different where the execution of each command takes place. 
 
INITIATING a disk will not allow 255 blocks of storage space even though the disk directory indicates it.  To properly INIT your disk, type this first (in the immediate mode): POKE 25305,160 followed by the RETURN KEY. 
 
Transferring text files using ADAMCALC may result in the file having gaps throughout the document.  This occurs due to the way SmartWRITER line wraps each line.  Those spaces are created because the file is saved or stored with the spaces at the end of each line. 
 
When you INITIALIZE a Datapack, the old directory is stored in block 0.  In this way, a program can be used to restore the old directory back to block 1, returning the datapack back to its original form. 
 
When a DATAPACK wears out, the Directory area located in block 1 is the area of the tape to first begin showing signs of trouble since it is the most used portion of the datapack.  The dreaded message, "CANNOT ACCESS THIS DATAPACK" appears, and only repeated attempts may provide access.  Immediately make a backup copy before it is too late! 
 
When a specific FILE on a Datapack cannot be ACCESSED, editing the directory can recover at least part of the file.  The procedure works by changing the length of the file just prior to the file named in the directory in block 1 so that when the file loads it will load all information specified according to the length.  It will be necessary to delete the first file information, some codes or garbage, and possibly retyping a portion of the document. 
 
When revising a SmartWRITER File and storing it, the first version of the file becomes a BACKUP FILE on the datapack.  If you use the CLEAR SCREEN COMMAND to eliminate unwanted text, the file name information will ALSO be deleted so that attempting to store the file will result in the message, "FILENAME ALREADY EXISTS".  
 
SEARCH (in SmartWRITER use) will not search beyond any END PAGE MARKER used in your document.  If you wish to quickly reach the end of a long document, use the search command while searching for "###." 
 
PRINT HEAD - If your printer head goes to the right, or if it beats against the side of the case on the left, the problem is in the REED SWITCH located either on the printer head or on the left side of the case.  It can be cleaned or adjusted with small bends (contacts should be closed in the normal position). 
 
When saving text to a datapack, save your material often.  Break the document into small "chapters" or sections.  When you are ready to print, append all files into one file. 
 
In SmartWRITER the controller keypad can be used to input numbers into memory and the joystick can be used to move the cursor. 
 
With multiple block DIRECTORIES, SmartWRITER will display the first part of the directory.  To see the rest of the directory do the following:  Move the ARROW across to the top left name, press the UP ARROW KEY (which moves the ARROW to the Bottom Left name), move the ARROW across to the bottom right name, press the DOWN ARROW KEY.  The datadrive will run to load the second part of the directory. 
 
To create your own 2 BLOCK DIRECTORY, Poke a 2 into location 25308 (POKE 25308,2 followed by the RETURN KEY).  Then INIT your fresh datapack. 
 
SMARTBASIC on datapack may be transferred to DISK using many copy utility programs (block numbers 0 - 29 are all that is necessary for the transfer).  However, SmartBASIC is CODED for use only with the tape drive.  To change the code for DISK #1 use, EDIT BLOCK #18 on the disk, the second byte (08) should be changed to 04.  Disk drive #2 is coded 05, Datadrive #2 is 24. 
 
SmartFILER 27d has a bug which improperly prints the spacing for labels.  It also prints an extra line between records, wasting space.  The problems have been corrected, available by sending your datapack and $5 for recopying.  If you wish to edit your copy, load block 18 and change byte FB on page 3 from 01 to 02 (using Edit-Block). 
 
One problem using SmartFILER to print multiple copies of letters or envelopes with the ADAM Printer is that it will not pause long enough to change the paper.  The trick to give you that extra time is to press the VI STOP PRINT SmartKEY JUST BEFORE it pauses normally.  It will stay paused until your press PRINT. 
 
Another problem in SmartFILER arises when trying to print columns and rows of information uniformly in line.  When typing in your field information, insert CONTROL "q" characters (press the CONTROL KEY and "q" key together) according to how you wish to align the data.  These characters will not print (even though you see them onscreen), but will maintain spacing when typing your data. 
 
Although SmartFILER has four searchable fields, you may find occasions when more searchable fields would be desirable.  Use the searchable fields to code letters separated by commas and you can then search in MANY ways.  For example, M could stand for member, N for nonmember, X for exmember, and groupings could be sorted by simply searching for these coded letters in one field.  If you want alphabetized listings, try using INDEX first before searching a field. 
 
BINARY files are created in SmartBASIC using the program "cruncher." These binary files use the "H" type designation in place of the normal "A" type as displayed when you CATALOG your directory.  The advantage of binary files is that they load ten times faster.  Use the terminology:  "BRUN filename" instead of "RUN filename." One bug found when SAVING a new version of a binary file is that the first version type is changed from "H" to "h", but the command RECOVER cannot bring back the "h" type file.  To correct this type (in the immediate mode):  POKE 20619,72 followed by the RETURN KEY.  Now you may recover those backup "h" files. 
 
BINARY PROGRAMS may load, but not execute, giving an error message instead, "ILLEGAL FORM OF OS COMMAND." This is normal.  Simply type RUN and the program will execute after the RETURN KEY. 
 
DATA & REM STATEMENT BUG - In SmartBASIC everytime you load and resave a program, it places an extra space at the beginning of DATA and REM statements, eventually pushing data off the end of the line.  Correct this by typing:  POKE 15824,216: POKE 15830,8: POKE 15831,55: POKE 15832,19 followed by the RETURN KEY. 
 
MERGING SMARTBASIC PROGRAMS - There is no merge command in SmartBASIC V1.  To merge or load a new program into memory, writing over the same line numbers and filling in new line numbers, do the following:  POKE 6356, 201 followed by the RETURN KEY. This keeps the NEW function from working to wipe out the original program in memory.  Return to normal by typing:  POKE 6356, 205. 
 
CP/M2.2 FORMATTING - Any formatted disk or datapack may be used with CP/M2.2 without FORMATTING using the utility program FORMAT.  Simply use SYSGEN to copy the system to the media from your original or backup CP/M DATAPACK. 
 
You can INIT PROTECT any medium by creating a short dummy program, POKE 23925,2 (in the immediate mode), and SAVE BASICPGM to your media.  SmartBASIC will NOT initiate any medium with BASICPGM thereon.  POKE 23925,65 after you're done to restore the normal SAVE function.  If later you decide to INIT the medium anyway, POKE 20435,2 and then DELETE BASICPGM.  POKE 20435,65 to restore the normal DELETE function.  Now INITIATE normally.

     This takes us through 1986 issues of AIM.  We will continue this article next month. 
 
SmartBASIC V2.0 is available in different versions.  To check your revision number, load Smartbasic and type, PRINT PEEK(260) <RETURN KEY>.  You should have # 52. 
 
SmartBASIC V2.0 uses different values for colors in HGR and GR Color Tables.  To correct this, type the following:  FOR X = 0 to 15 : POKE 25360 + X, X : POKE 25378 + X, X : NEXT X <RETURN> 
 
SmartBASIC V1 also uses different values for colors in HGR and GR modes.  The following POKES solve the problem:  POKE 18728, 121 : POKE 18729, 0 : POKE 18730, 0 :  POKE 18735, 121 :  POKE 18736, 0 :  POKE 18737, 0 : POKE 19256, 0 : POKE 19257, 0 : POKE 19258, 0 <RETURN> 
 
In SmartBASIC while printing, the screen echos each character onscreen.  This can be disabled by typing, POKE 12043, 201 (default 245). 
 
SmartBASIC V1 has a bug which prevents you from BRUNning a program from another drive by adding the Dx at the end of the BRUN Statement.  This BRUN DRIVE BUG may be eliminated by typing, POKE 21019, 11 <RETURN>.  The BRUN STATEMENT LENGTH BUFFER is too small for use of location, length, and drive suffix.  This is corrected by typing the following POKES: 16601,35: 16602,249: 16604, 73: 16605, 249: 19450,249: 19459,34: 19566,72: 19567,249: 19585,35: 19586,249: 19558,73: 19559,249: 19563,73: 19564,249: 19576,73: 19577,249: 19595,73: 19596,249: 21019,11. 
 
The SmartBASIC INPUT LINE LENGTH may be increased to 239 characters and spaces for each line number by typing, POKE 12185,239 <RETURN>.  You can eliminate spaces placed after periods and commas (placed there by the computer) by typing, POKE 13357,0 : POKE 13349,0. 
 
SmartBASIC V1 & V2 have a limited POKE RANGE which may be unlimited by typing, POKE 16149,255 : POKE 16150,255 <RETURN> for V1, and POKE 1648,255 : pOKE 1649,255 <RETURN> for V2. 
 
SmartWRITER CLEAR BUG - To clear the screen or workspace press the CLEAR KEY, followed by the SmartKEY choice, and Final Clear option.  Pressing these three keys in rapid succession may cause the system to lock up or loose the sound.  And as you type at the end of a line, the characters do not appear until you jump to the next line.  At times, the condition will correct itself.  Use the CLEAR function carefully. 
 
SmartWRITER VERTICAL LINE SPACING BUG - When changing the vertical line spacing, it may be necessary to do the change twice.  Notice whether the pointer moves.  If there is no hesitation, the change was not made. 
 
STORING DOCUMENT BUG - As you type a document, you should store the text workspace frequently in case of problems.  The name you choose is entered into the directory.  Later, you be required to use a NEW name for your document when you try to SAVE the workspace.  This can be overcome by clearing the workspace after the FIRST SAVE, and GETTING the file back.  Now you can use the same file name as ADAM makes your latest SAVE your primary file, while the previous saved files becomes the backup file. 
 
SMARTFILER can GET forms you create using SmartWRITER to type letters and labels in different ways.  However, if you use a multi-block directory tape or disk, SmartFILER will not access more than the first block of your directory.  Use a fresh medium to save your forms. 
 
SmartWRITER will GET a SmartBASIC program, but the line numbers will not be separated by a space from the first entry in the line.  You can correct this prior to saving your SmartBASIC Program.  Type, POKE 24100, 0 : POKE 24101, 0 : POKE 24102, 0 <RETURN>.  (Default values:  50, 20, and 63).  
 
SmartBASIC V1 has a FILE LENGTH BUG - when you delete a large file and save a smaller file having less length, the smaller program will have all the space dedicated to the deleted program.  To see the actual number of blocks assigned to a file, first type:  POKE 21370, 8 (6 is default) <RETURN>.  Also, if you wish to see each file's START BLOCK location on the medium, POKE 21370, 2 <RETURN> before you CATALOG the medium.  To see the ACTIVE FILES blocks left on your medium, type:  POKE 21298, 0 (default 235) <RETURN> before Cataloging. 
 
SmartWRITER documents should never be ended with an END OF PAGE MARKER.  Doing so may produce the DEATH SPIN spiral of the pointer. 
 
ADAM INTERNATIONAL MEDIA 
Published by ADAM'S HOUSE 
RT 2 BOX 2756 
1829-1 COUNTY ROAD #130 
PEARLAND, TEXAS 77581 
 (713) 482-5040 9 AM - 6 PM 
 
ADAM'S HOUSE is a full time SALES and SERVICE company supporting the ADAM COMPUTER SYSTEM exclusively!  For a 20 page catalog, send $1.00 or a stamped self-addressed envelop with 45 cents postage (USA, 52 cents to CANADA).  
 
 FILE LENGTH BUG - when you delete
